1. Field of the Invention
This invention relates to a system for providing a universal interface system. Specifically, the invention relates to a software interface for proprietary hardware that may act between the Basic Input Output System (BIOS) and the operating system or specific applications, or between the operating system and specific applications.
2. Related Art
When a personal computer is initially started, the boot process executes a series of complex instructions to ensure that the components are properly functioning. The computer executes a power-on self test (xe2x80x9cPOSTxe2x80x9d) to check the functionality of the central processing unit (xe2x80x9cCPUxe2x80x9d) and the memory. In the initiation of a POST, an electrical signal following a permanently programed path to the CPU clears any leftover data from the internal proprietary memory registers. The discrete signal also resets the program counter to typically the hexadecimal number of F000. This number instructs the CPU of the next instruction that requires processing. This address is the start of the boot program typically stored in read only memory (ROM) that contains the basic input/output system (xe2x80x9cBIOSxe2x80x9d). The BIOS boot program invokes a series of systems checks including reading code located in various memory locations and checking the code against identical records stored in the BIOS chip set or some other CMOS chip.
The boot operation typically performs the POST and searches for the operating system. Once the operating system is found, the system files are read and copied into random access memory (xe2x80x9cRAMxe2x80x9d). Typically, each computer has only one operating system. In a disk operating system environment, once the boot record loads the IO.SYS files into RAM the SYSINIT routine is called that manages the remaining part of the boot process. The SYSINIT loads the MSDOS.SYS into RAM and works to manage the files, execute programs and respond to hardware commands. Other operating system files that may be launched are COMMAND.COM and AUTOEXEC.BAT.
Due to interoperability problems there exists a need for a software system to interface between the BIOS and the operating system. For example, often there is a need to operate a Windows based application contemporaneously with a UNIX based application. Without interface software, a Windows operating system will not execute a UNIX application and vice versa. There also is a need for a software system interface to act between the microprocessor BIOS and specific application or between the operating system and specific applications. These problems often exist when computer systems seek to launch or share programs across a variety of platforms and operating system releases.